using Godot;
using System;
using Smr.基类;
using Smr.索引;
using Smr.枚举;
using Smr;

public static class 宠物模型
{
    public static C宠物模型 取模型(E宠物索引 宠物名称)
    {
        var 模型 = 宠物名称 switch
        {
            E宠物索引.兔小白 => new C宠物模型
            {
                基础属性 =
                {
                    名称 = E宠物索引.兔小白.ToString(),
                    战斗类型 = E角色战斗类型.宠物,
                    称谓 = E角色称谓.鬼卒,
                    职级 = E角色职级.一级,
                },
                成长 =
                {
                    体力下限 = 40,
                    体力上限 = 60,
                    精力下限 = 30,
                    精力上限 = 50,
                    物伤下限 = 35,
                    物伤上限 = 45,
                    神伤下限 = 45,
                    神伤上限 = 65,
                    速度下限 = -10,
                    速度上限 = 10,
                    防御下限 = 10,
                    防御上限 = 20,
                }
            },
            _ => null
        };

        if (模型 != null)
        {
            模型.成长.体力成长 = 方法.取随机数.Next((int)模型.成长.体力下限, (int)模型.成长.体力上限);
            模型.成长.精力成长 = 方法.取随机数.Next((int)模型.成长.精力下限, (int)模型.成长.精力上限);
            模型.成长.物伤成长 = 方法.取随机数.Next((int)模型.成长.物伤下限, (int)模型.成长.物伤上限);
            模型.成长.神伤成长 = 方法.取随机数.Next((int)模型.成长.神伤下限, (int)模型.成长.神伤上限);
            模型.成长.速度成长 = 方法.取随机数.Next((int)模型.成长.速度下限, (int)模型.成长.速度上限);
            模型.成长.防御成长 = 方法.取随机数.Next((int)模型.成长.防御下限, (int)模型.成长.防御上限);
        }

        return 模型;
    }
}
